Understanding software artifact provenance

نویسنده

  • Michael W. Godfrey
چکیده

In a well designed software system, units of related functionality are organized into modules and classes, which are in turn arranged into inheritance trees, package hierarchies, components, libraries, frameworks, and services. The trade-offs between simplicity versus flexibility and power are carefully considered, and interfaces are designed that expose the key functional properties of a component while hiding much of the complexity of the implementation details. However, over time the design integrity of a well-engineered system tends to decay as new features are added, as new quality attributes are emphasized, and as old architectural knowledge is lost when experienced development personnel shift to new jobs. Consequently, as developers and as users we often find ourselves looking at a piece of functionality or other design artifact and wondering, “Why is this here?” That is, we would like to examine the provenance of an artifact to understand its history and why it is where it is within the current design of the system. In this brief paper, we sketch some of the dimensions of the broad problem of extracting and reasoning about the provenance of software development artifacts. As a motivating example, we also describe some recent related work that uses hashing to quickly and accurately identify version information of embedded Java libraries.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Report from Dagstuhl Seminar 12091 Principles of Provenance

This report documents the program and the outcomes of Dagstuhl Seminar 12091 “Principles of Provenance”. The term “provenance” refers to information about the origin, context, derivation, ownership or history of some artifact. In both art and science, provenance information is crucial for establishing the value of a real-world artifact, guaranteeing for example that the artifact is an original ...

متن کامل

Provenance in Software Engineering - A Configuration Management View

Information provenance is a mechanism for tracing and verifying sources of information. In software development, provenance can be seen in two dimensions: (a) traceability among different versions of the same artifact and (b) traceability among various artifacts across system lifecycle. Maintaining the provenance, including the history of changes and the rationale of changes, are critical in as...

متن کامل

Artifact Centric Business Process Management Logging Schema

Understanding the evolution of business artifacts will enable business analyst to discover more insight from process execution data. In this context, describing how the artifacts are wired, helps in understanding, predicting and optimizing the behavior of dynamic processes. In many cases, however, process artifacts evolve over time, as they pass through the business’s operations. Consequently, ...

متن کامل

Data provenance – the foundation of data quality

Provenance for data is often defined by analogy with its use for the history of non-digital artifacts, typically works of art. While this provides a starting point for our understanding of the term, it is not adequate for at least two important reasons. First, an art historian seeing a copy of some artifacts will regard its provenance as very different from that of the original. By contrast, wh...

متن کامل

Provenance Support for Rework

Rework occurs commonly in software development. This paper describes a simple rework example, namely the code refactoring process. We show that contextual information is central to supporting such rework, and we present an artifact provenance support approach that can help developers keep track of previous decisions to improve their effectiveness in rework.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Sci. Comput. Program.

دوره 97  شماره 

صفحات  -

تاریخ انتشار 2015